interface RaphaelAnimation { delay(delay: number): RaphaelAnimation;
repeat(repeat: number): RaphaelAnimation;
interface RaphaelElement { animate(params: { [key: string]: any; }, ms: number, easing?: string, callback?: Function): RaphaelElement; animate(animation: RaphaelAnimation): RaphaelElement;
animateWith(el: RaphaelElement, anim: RaphaelAnimation, params: any, ms: number, easing?: string, callback?: Function): RaphaelElement;
animateWith(el: RaphaelElement, anim: RaphaelAnimation, animation: RaphaelAnimation): RaphaelElement;
attr(attrName: string, value: any): RaphaelElement;
attr(params: any): RaphaelElement;
attr(attrName: string): any;
attr(attrNames: string[]): any[];
click(handler: Function): RaphaelElement;
data(key: string, value: any): RaphaelElement;
dblclick(handler: Function): RaphaelElement;
drag(onmove: (dx: number, dy: number, x: number, y: number, event: DragEvent) => {}, onstart: (x: number, y: number, event: DragEvent) => {}, onend: (DragEvent: any) => {}, mcontext?: any, scontext?: any, econtext?: any): RaphaelElement; getBBox(isWithoutTransform?: boolean): BoundingBox;
glow(glow?: { width?: number; fill?: boolean; opacity?: number; offsetx?: number; offsety?: number; color?: string; }): RaphaelSet; hover(f_in: Function, f_out: Function, icontext?: any, ocontext?: any): RaphaelElement;
insertAfter(): RaphaelElement;
insertBefore(): RaphaelElement;
isPointInside(x: number, y: number): boolean;
mousedown(handler: Function): RaphaelElement;
mousemove(handler: Function): RaphaelElement;
mouseout(handler: Function): RaphaelElement;
mouseover(handler: Function): RaphaelElement;
mouseup(handler: Function): RaphaelElement;
onDragOver(f: Function): RaphaelElement;
pause(anim?: RaphaelAnimation): RaphaelElement;